From: Georges Basile Stavracas Neto Date: Tue, 23 Jun 2020 15:18:56 +0000 (-0300) Subject: appDisplay: Ensure icons always are at the correct position X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~684^2^2~106 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=cceb74706ace449e7485aadbd0e648da12dd8672;p=gnome-shell.git appDisplay: Ensure icons always are at the correct position When redisplaying, we currently only remove and add icons, but never adjust the position of already added icons. If the icon position changed, it wouldn't be reflected on the icon grid. Make sure to move already added icons. https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1284 --- diff --git a/js/ui/appDisplay.js b/js/ui/appDisplay.js index eb9f228ca..546d509b0 100644 --- a/js/ui/appDisplay.js +++ b/js/ui/appDisplay.js @@ -333,10 +333,13 @@ var BaseAppView = GObject.registerClass({ icon.destroy(); }); - // Add new app icons - addedApps.forEach(icon => { - const [page, position] = this._getItemPosition(icon, newApps); - this._addItem(icon, page, position); + // Add new app icons, or move existing ones + newApps.forEach(icon => { + const [page, position] = this._getItemPosition(icon); + if (addedApps.includes(icon)) + this._addItem(icon, page, position); + else if (page !== -1 && position !== -1) + this._moveItem(icon, page, position); }); this._viewIsReady = true;